﻿package org.libspark.betweenas3.core.ticker
{
	/**
	 * 更新のタイミングを管理する.
	 * 
	 * @author	yossy:beinteractive
	 */
	public interface ITicker
	{
		/**
		 * 現在の時間を返します.
		 */
		function get time():Number;
		
		/**
		 * コールバックを受け取るリスナを追加します.
		 * 
		 * @param	listener	コールバックを受け取るリスナ
		 */
		function addTickerListener(listener:TickerListener):void;
		
		/**
		 * 追加されているリスナを削除します.
		 * 
		 * @param	listener	削除するリスナ
		 */
		function removeTickerListener(listener:TickerListener):void;
		
		/**
		 * タイミング管理の処理を開始します.
		 */
		function start():void;
		
		/**
		 * タイミング管理の処理を停止します.
		 */
		function stop():void;
	}
}